package com.redstars.generate.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.redstars.generate.entity.SysProject;
import com.redstars.generate.page.PageResult;
import com.redstars.generate.query.SysProjectQuery;
import com.redstars.generate.vo.SysProjectVo;
import java.util.List;

/**
 * @author : zhouhx
 * @date : 2023/3/20 16:48
 */
public interface SysProjectService extends IService<SysProject> {

    /**
     *
     * @description 分页查询
     * @author zhouhx
     * @since 1.0.0 2022-10-14
     */
    PageResult<SysProjectVo> page(SysProjectQuery query);
    /**
     *
     * @description 新增
     * @author zhouhx
     * @since 1.0.0 2022-10-14
     */
    void save(SysProjectVo vo);
    /**
     *
     * @description 修改
     * @author zhouhx
     * @since 1.0.0 2022-10-14
     */
    void update(SysProjectVo vo);
    /**
     *
     * @description 删除
     * @author zhouhx
     * @since 1.0.0 2022-10-14
     */
    void delete(List<Long> idList);
    /**
     *
     * @description 详情
     * @author zhouhx
     * @since 1.0.0 2022-10-14
     */
    SysProjectVo detail(Long id);

    /**
     *
     * @author zhuohx
     * @description 检查项目是否有默认配置
     * @parms  [vo]
     * @return boolean
     * @throws
     * @date 2023/3/21 9:17
     */
    boolean checkProjectDefault(SysProjectVo vo);

    /**
     *
     * @author zhuohx
     * @description 查询所有集合
     * @parms  [query]
     * @return java.util.List<com.redstars.generate.vo.SysProjectVo>
     * @throws
     * @date 2023/3/21 11:18
     */
    List<SysProjectVo> list(SysProjectQuery query);

    /**
     *
     * @author zhuohx
     * @description 获取默认项目
     * @parms  []
     * @return com.redstars.generate.vo.SysProjectVo
     * @throws
     * @date 2023/3/21 11:24
     */
    SysProjectVo getDefalut();
}
